﻿#pragma once
#include "Sprite.h"
#include "Resource.h"
#include "Config.h"

class IObject
{
protected: 
	//Vị trí của vật, chính là góc dưới cùng - bên trái
	D3DXVECTOR2 mPos;
	//Vận tốc
	D3DXVECTOR2 mVel;
	//Last Velocity of Object before stop (to determine the direction Left, Right, Up, Down of Object )
	D3DXVECTOR2 mVelLast;
public:
	IObject();
	virtual ~IObject();

	//Hàm này dùng để load Texture lên
	virtual void LoadContent(LPD3DXSPRITE spriteHandler);

	//Hàm này dùng để xử lý Input của đối tượng
	virtual void Input();

	//Hàm này dùng để update logic, tính toán của đối tượng
	virtual void Update(int deltaTime);

	//Hàm này dùng để vẽ đối tượng
	virtual void Render();

	//Hàm này dùng để Unload content
	virtual void UnloadContent();
};